WeldContainer{
  this.deployment=deployment;
  Map<String,BeanDeploymentArchive> bdas=new HashMap<String,BeanDeploymentArchive>();
  for (  BeanDeploymentArchive archive : deployment.getBeanDeploymentArchives()) {
  bdas.put(deployment.getAdditionalBeanDeploymentArchive().getId(),deployment.getAdditionalBeanDeploymentArchive());
  this.beanDeploymentArchives=Collections.unmodifiableMap(bdas);
}
start{
  if (started) {
  ModuleGroupSingletonProvider.addClassLoaders(deployment.getModule().getClassLoader(),deployment.getSubDeploymentClassLoaders());
  started=true;
  ClassLoader oldTccl=SecurityActions.getContextClassLoader();
    SecurityActions.setContextClassLoader(deployment.getModule().getClassLoader());
    bootstrap.startContainer(environment,deployment);
    bootstrap.startInitialization();
    bootstrap.deployBeans();
    bootstrap.endInitialization();
    SecurityActions.setContextClassLoader(oldTccl);
}
stop{
  if (!started) {
    throw WeldMessages.MESSAGES.notStarted("WeldContainer");
  ClassLoader oldTccl=SecurityActions.getContextClassLoader();
    SecurityActions.setContextClassLoader(deployment.getModule().getClassLoader());
    SecurityActions.setContextClassLoader(oldTccl);
    ModuleGroupSingletonProvider.removeClassLoader(deployment.getModule().getClassLoader());
}
getBeanManager{
  if (!started) {
    throw WeldMessages.MESSAGES.notStarted("WeldContainer");
}
getBeanManager{
  BeanDeploymentArchive beanDeploymentArchive=beanDeploymentArchives.get(beanArchiveId);
  if (beanDeploymentArchive == null) {
    throw WeldMessages.MESSAGES.beanDeploymentNotFound(beanArchiveId);
  return bootstrap.getManager(beanDeploymentArchive);
}
addWeldService{
    throw WeldMessages.MESSAGES.cannotAddServicesAfterStart();
  deployment.getServices().add(type,service);
  deployment.getAdditionalBeanDeploymentArchive().getServices().add(type,service);
}
getBeanManager{
  if (!started) {
    throw WeldMessages.MESSAGES.notStarted("WeldContainer");
}
getBeanDeploymentArchives{
  return new HashSet<BeanDeploymentArchive>(beanDeploymentArchives.values());
}
isStarted{ }
